package dao

import (
	"context"
	"gorm.io/gorm"
	"user_srv/model"
)

type ChatSessionDao struct {
	db *gorm.DB
}

func NewChatSessionDao(db *gorm.DB) *ChatSessionDao {
	return &ChatSessionDao{db: db}
}

// 创建会话：直接调用 model 的方法
func (d *ChatSessionDao) CreateSession(ctx context.Context, userId uint64, title string) (uint64, error) {
	s := model.ChatSessions{UserId: uint(userId), Title: title}
	if err := s.Create(ctx, d.db); err != nil {
		return 0, err
	}
	return uint64(s.Id), nil
}

// 查询会话列表：直接调用 model 的函数（注意没有 d.）
func (d *ChatSessionDao) ListByUser(ctx context.Context, userId uint64) ([]model.ChatSessions, error) {
	return model.ListByUser(ctx, d.db, userId)
}
